package com.ming.sps.server.utils;

import java.util.List;

import com.ming.sps.server.bean.ParamMap;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/** 
 * @ClassName JsonUtil 
 */
@SuppressWarnings("all")
public class JsonUtil {
	
	public static JSONArray mapToJsonArray(ParamMap paramMap){
		JSONArray jsonArray = new JSONArray();
		JSONObject jsonObject = new JSONObject();
		for (String key : paramMap.keySet()) {
			jsonObject.put(key, paramMap.get(key));
		}
		jsonArray.add(jsonObject);
		return jsonArray;
	}
	
	public static JSONArray listMapToJsonArray(List<ParamMap> list){
		JSONArray jsonArray = new JSONArray();
		for (ParamMap param : list) {
			JSONObject json = new JSONObject();
			for (String key : param.keySet()) {
				json.put(key, param.get(key));
			}
			jsonArray.add(json);
		}
		return jsonArray;
	}
	
	public static JSONObject put(JSONObject jsonObject,String jsonName,Object obj){
		if(obj instanceof java.util.List){
			jsonObject.put(jsonName, listMapToJsonArray((List<ParamMap>)obj));
		}else if(obj instanceof com.ming.sps.server.bean.ParamMap){
			jsonObject.put(jsonName, mapToJsonArray((ParamMap)obj));
		}else{
			jsonObject.put(jsonName, obj);
		}
		return jsonObject;
	}
	
	public static String putToStr(JSONObject jsonObject,String jsonName,Object obj){
		JSONObject jsonObj = put(jsonObject, jsonName, obj);
		return jsonObj.toString();
	}
	
	public static String putToStr(String jsonName,Object obj) throws Exception{
		JSONObject jsonObject = new JSONObject();
		JSONObject jsonObj = put(jsonObject, jsonName, obj);
		return jsonObj.toString();
	}
	
	
	//把反馈的结果转为实体类
	public static String parseToValue(String text,String key) throws Exception{
		JSONObject json = JSONObject.fromObject(text);
		String value = json.getString(key);
		return value;
	}
	

}
